package eightSynchronized;

import lombok.extern.slf4j.Slf4j;

import java.sql.Time;
import java.util.concurrent.TimeUnit;

/**
 * @author： pang-yun
 * @date： 2021-10-14 20:13
 * 功能目的 ：用于
 *
 *只有一种结果：
 * [Thread-1] INFO eightSynchronized.Num5 - 2
 * [Thread-0] INFO eightSynchronized.Num5 - 1
 */

public class Five {
    public static void main(String[] args) {
        Num5 num5 = new Num5();
        new Thread(()->{Num5.a();}).start();   // 静态方法 锁住 类对象
        new Thread(()->{ num5.b();}).start();  //  b 锁住的是  创建的实例 this  对象  两者不互斥
    }
}

@Slf4j
class Num5 {
    public static synchronized void a(){
        try {
            TimeUnit.SECONDS.sleep(1);
            log.info("1");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    public synchronized void b(){
        log.info("2");
    }
}
